package com.yyy.service;

import com.yyy.dao.CategoryDao;
import com.yyy.dao.RecordDao;
import com.yyy.entity.Category;
import com.yyy.entity.Record;

import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * @Author：yyy
 * @Package：com.yyy.service
 * @Project：HuTuBiill
 * @name：CategoryService
 * @Date：2024/11/11 22:43
 * @Filename：CategoryService
 */
public class CategoryService {
    CategoryDao categoryDao=new CategoryDao();
    RecordDao recordDao=new RecordDao();

    /*
    * 增加一种分类
    * */
    public void add(String name){
        Category c=new Category();
        c.setName(name);
        categoryDao.add(c);
    }

    /*
    * 删除分类
    * */
    public void delete(int id){
        categoryDao.delete(id);
    }

    /*
    * 更新分类
    * */
    public void update(int id,String name){
        Category c=new Category();
        c.setName(name);
        c.setId(id);
        categoryDao.update(c);
    }

    /*
    * 查出所有的分类，然后再根据每种分类将对应的消费记录总数查询回来，并排序，将消费频率高的放前面
    * */

    public List<Category> list(){
        List<Category> categories=categoryDao.list();
        for(Category c:categories){
            List<Record> records=recordDao.selectByCId(c.id);
            c.recordNumber=records.size();
        }
        Collections.sort(categories,(c1,c2)-> c2.recordNumber-c1.recordNumber);//lambda表达式，后面减前面代表降序，前面减后面代表升序
        return  categories;
    }





}
